package com.csy.admin.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.util.Date;

import java.io.Serializable;

/**
 * <p>
 * 学习经验实体类
 * </p>
 *
 * @author csy
 * @since 2018-09-19
 */
@TableName("learning_experience")
public class LearningExperience extends Model<LearningExperience> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "experience_id", type = IdType.AUTO)
    private Long experienceId;
    /**
     * 标题
     */
    @TableField("experience_title")
    private String experienceTitle;
    /**
     * 纯文本内容
     */
    @TableField("experience_text")
    private String experienceText;
    /**
     * html文本内容
     */
    @TableField("experience_content")
    private String experienceContent;
    /**
     * 类型
     */
    @TableField("class_id")
    private Integer classId;
    /**
     * 所属标签
     */
    @TableField("tag_id")
    private Long tagId;
    /**
     * 关键字
     */
    @TableField("key_word")
    private String keyWord;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 创建人员
     */
    @TableField("user_id")
    private Long userId;
    /**
     * 作废标志
     */
    @TableField("flag_invalid")
    @TableLogic
    private Integer flagInvalid;
    /**
     * 展示类型：0-所有人可见 1-仅自己可见
     */
    @TableField("show_type")
    private Integer showType;
    /**
     * 排序
     */
    @TableField("order_number")
    private Integer orderNumber;

    /**
     * 创建人员姓名
     */
    @TableField(exist = false)
    private String userName;
    /**
     * 分类名称
     */
    @TableField(exist = false)
    private String className;
    /**
     * 标签名称
     */
    @TableField(exist = false)
    private String tagName;
    /**
     * 展示方式名称
     */
    @TableField(exist = false)
    private String showTypeName;



    public Long getExperienceId() {
        return experienceId;
    }

    public void setExperienceId(Long experienceId) {
        this.experienceId = experienceId;
    }

    public String getExperienceTitle() {
        return experienceTitle;
    }

    public void setExperienceTitle(String experienceTitle) {
        this.experienceTitle = experienceTitle;
    }

    public String getExperienceText() {
        return experienceText;
    }

    public void setExperienceText(String experienceText) {
        this.experienceText = experienceText;
    }

    public String getExperienceContent() {
        return experienceContent;
    }

    public void setExperienceContent(String experienceContent) {
        this.experienceContent = experienceContent;
    }

    public Integer getClassId() {
        return classId;
    }

    public void setClassId(Integer classId) {
        this.classId = classId;
    }

    public Long getTagId() {
        return tagId;
    }

    public void setTagId(Long tagId) {
        this.tagId = tagId;
    }

    public String getKeyWord() {
        return keyWord;
    }

    public void setKeyWord(String keyWord) {
        this.keyWord = keyWord;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Integer getFlagInvalid() {
        return flagInvalid;
    }

    public void setFlagInvalid(Integer flagInvalid) {
        this.flagInvalid = flagInvalid;
    }

    public Integer getShowType() {
        return showType;
    }

    public void setShowType(Integer showType) {
        this.showType = showType;
    }

    public Integer getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(Integer orderNumber) {
        this.orderNumber = orderNumber;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getTagName() {
        return tagName;
    }

    public void setTagName(String tagName) {
        this.tagName = tagName;
    }

    public String getShowTypeName() {
        return showTypeName;
    }

    public void setShowTypeName(String showTypeName) {
        this.showTypeName = showTypeName;
    }

    @Override
    protected Serializable pkVal() {
        return this.experienceId;
    }

    @Override
    public String toString() {
        return "LearningExperience{" +
        ", experienceId=" + experienceId +
        ", experienceTitle=" + experienceTitle +
        ", experienceText=" + experienceText +
        ", experienceContent=" + experienceContent +
        ", classId=" + classId +
        ", tagId=" + tagId +
        ", keyWord=" + keyWord +
        ", createTime=" + createTime +
        ", userId=" + userId +
        ", flagInvalid=" + flagInvalid +
        ", showType=" + showType +
        "}";
    }
}
